﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Sinacor.Infra.UI.Common
{
    public interface IHierarchicalItem
    {
        IHierarchicalItem Parent { get; }
        String Text { get; }
        IEnumerable Children { get; }
    }

    public interface IHierarchicalItem<TParent, TChild, TChildren> : IHierarchicalItem
        where TParent : IHierarchicalItem
        where TChild : IHierarchicalItem
        where TChildren : IEnumerable<TChild>
    {
        new TParent Parent { get; }
        new TChildren Children { get; }
    }
}
